package com.sunmnet.j2ee.service.powerdb.designer;

import com.sunmnet.j2ee.entity.powerdb.designer.EntityRelate;
import com.sunmnet.j2ee.service.BaseService;

import java.util.List;
import java.util.Map;


public interface EntityRelateService extends BaseService<EntityRelate, Long> {

	/**
	 * 通过模块编号和版本编号查找实体关系
	 *
	 * @param moduleId  模块编号
	 * @param versionId 版本编号
	 * @return List<EntityRelate> 查找到的实体关系
	 */
	List<EntityRelate> getEntityRelates(Long moduleId, Long versionId);

	/**
	 * 拷贝实体关系成新版本
	 *
	 * @param list          原实体关系链表
	 * @param copyedEntitys 实体编号对应关系map
	 * @param copyedFields  字段编号对应关系map
	 * @param versionId     版本编号
	 * @param newModuleId   新模块编号
	 */
	void copyEntityRelates(List<EntityRelate> list, Map<Long, Long> copyedEntitys, Map<Long, Long> copyedFields, Long versionId, Long newModuleId);

	/**
	 * 通过关联实体id，查询关联的实体
	 */
	List getEntitysByEntityRelatId(Long entityRelatId);

	/**
	 * @param id
	 * @param points
	 * @param multiplicityJson
	 * @return
	 */
	int updatePoints(Long id, String points, String multiplicityJson);
}
